<?php

namespace common\models\member;

use Yii;

/**
 * This is the model class for table "{{%member}}".
 *
 * @property int $id 主键
 * @property string $username 帐号
 * @property string $mobile 手机号码
 * @property string $realname 真实姓名
 * @property string $password_hash 密码
 * @property string $auth_key 授权令牌
 * @property string $password_reset_token 密码重置令牌
 * @property string|null $birthday 生日
 * @property int $visit_count 访问次数
 * @property int $last_time 最后一次登录时间
 * @property string $last_ip 最后一次登录ip
 * @property int $status 状态【-1：删除; 0：禁用; 1：启用】
 * @property int $super_type 账号类型 【0普通、1超级管理员、2管理员】
 * @property int $created_at 添加时间
 * @property int $updated_at 更新时间
 */
class Member extends \common\models\base\BaseModel
{
    const STATUS_DELETE = -1;// 删除
    const STATUS_INVALID = 0;// 失效
    const STATUS_ENABLE = 1;// 正常

    const SUPER_TYPE_NORMAL = 0;// 普通
    const SUPER_TYPE_SUPER_ADMIN = 1;// 超级管理员
    const SUPER_TYPE_ADMIN = 2;// 管理员

    const DEFAULT_PASSWORD = 'jgwl123456';  // 默认密码

    public static $superTypes = [
        self::SUPER_TYPE_NORMAL => '普通',
        self::SUPER_TYPE_SUPER_ADMIN => '超级管理员',
        self::SUPER_TYPE_ADMIN => '管理员',
    ];

    public static $statuss = [
        self::STATUS_DELETE => '删除',
        self::STATUS_INVALID => '禁用',
        self::STATUS_ENABLE => '正常',
    ];

    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return '{{%member}}';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['visit_count', 'last_time', 'status', 'super_type', 'created_at', 'updated_at'], 'integer'],
            [['birthday'], 'safe'],
            [['username', 'mobile'], 'string', 'max' => 20],
            [['realname'], 'string', 'max' => 50],
            [['password_hash', 'password_reset_token'], 'string', 'max' => 150],
            [['auth_key'], 'string', 'max' => 32],
            [['last_ip'], 'string', 'max' => 16],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => '主键',
            'username' => '帐号',
            'mobile' => '手机号码',
            'realname' => '真实姓名',
            'password_hash' => '密码',
            'auth_key' => '授权令牌',
            'password_reset_token' => '密码重置令牌',
            'birthday' => '生日',
            'visit_count' => '访问次数',
            'last_time' => '最后一次登录时间',
            'last_ip' => '最后一次登录ip',
            'status' => '状态【-1：删除; 0：禁用; 1：启用】',
            'super_type' => '账号类型 【0普通、1超级管理员、2管理员】',
            'created_at' => '添加时间',
            'updated_at' => '更新时间',
        ];
    }
}
